/**
 * 
 */
package co.fitstart.entity.market.satisfaction;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonIdentityReference;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;

import co.fitstart.entity.course.round.CourseRound;

/**
 * @author mohanlan
 *
 */
@Entity
@Table(name = "camped_survey")
@JsonIgnoreProperties(value={"hibernate_lazy_initializer","handler","fieldHandler"})
public class CampedSurvey {
	
	@Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id")
    @JsonIdentityReference(alwaysAsId=true)
    private Long id;
	
	@ManyToOne(fetch = FetchType.LAZY, optional = false)
    @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
    @JsonIdentityReference(alwaysAsId = true)
    private CourseRound courseRound;
	
	private String finishTarget;
	
	private String finishTargetOther;
	
	private String coachService;
	
	private String coachSkills;
	
	private String coachFeedback;
	
	private String coachUp;
	
	private String coursePlan;
	
	private String courseDietary;
	
	private String courseEncourage;
	
	private String roundOverall;
	
	private String recommend;
	
	private String continueCourse;
	
	private String continueCourseOther;
	
	private String joinTogether;
	
	private String joinTogetherOther;
	
	/**
	 * 
	 */
	public CampedSurvey() {
		// TODO Auto-generated constructor stub
	}

	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @return the courseRound
	 */
	public CourseRound getCourseRound() {
		return courseRound;
	}

	/**
	 * @return the finishTarget
	 */
	public String getFinishTarget() {
		return finishTarget;
	}

	/**
	 * @return the finishTargetOther
	 */
	public String getFinishTargetOther() {
		return finishTargetOther;
	}

	/**
	 * @return the coachService
	 */
	public String getCoachService() {
		return coachService;
	}

	/**
	 * @return the coachSkills
	 */
	public String getCoachSkills() {
		return coachSkills;
	}

	/**
	 * @return the coachFeedback
	 */
	public String getCoachFeedback() {
		return coachFeedback;
	}

	/**
	 * @return the coachUp
	 */
	public String getCoachUp() {
		return coachUp;
	}

	/**
	 * @return the coursePlan
	 */
	public String getCoursePlan() {
		return coursePlan;
	}

	/**
	 * @return the courseDietary
	 */
	public String getCourseDietary() {
		return courseDietary;
	}

	/**
	 * @return the courseEncourage
	 */
	public String getCourseEncourage() {
		return courseEncourage;
	}

	/**
	 * @return the roundOverall
	 */
	public String getRoundOverall() {
		return roundOverall;
	}

	/**
	 * @return the recommend
	 */
	public String getRecommend() {
		return recommend;
	}

	/**
	 * @return the continueCourse
	 */
	public String getContinueCourse() {
		return continueCourse;
	}

	/**
	 * @return the continueCourseOther
	 */
	public String getContinueCourseOther() {
		return continueCourseOther;
	}

	/**
	 * @return the joinTogether
	 */
	public String getJoinTogether() {
		return joinTogether;
	}

	/**
	 * @return the joinTogetherOther
	 */
	public String getJoinTogetherOther() {
		return joinTogetherOther;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @param courseRound the courseRound to set
	 */
	public void setCourseRound(CourseRound courseRound) {
		this.courseRound = courseRound;
	}

	/**
	 * @param finishTarget the finishTarget to set
	 */
	public void setFinishTarget(String finishTarget) {
		this.finishTarget = finishTarget;
	}

	/**
	 * @param finishTargetOther the finishTargetOther to set
	 */
	public void setFinishTargetOther(String finishTargetOther) {
		this.finishTargetOther = finishTargetOther;
	}

	/**
	 * @param coachService the coachService to set
	 */
	public void setCoachService(String coachService) {
		this.coachService = coachService;
	}

	/**
	 * @param coachSkills the coachSkills to set
	 */
	public void setCoachSkills(String coachSkills) {
		this.coachSkills = coachSkills;
	}

	/**
	 * @param coachFeedback the coachFeedback to set
	 */
	public void setCoachFeedback(String coachFeedback) {
		this.coachFeedback = coachFeedback;
	}

	/**
	 * @param coachUp the coachUp to set
	 */
	public void setCoachUp(String coachUp) {
		this.coachUp = coachUp;
	}

	/**
	 * @param coursePlan the coursePlan to set
	 */
	public void setCoursePlan(String coursePlan) {
		this.coursePlan = coursePlan;
	}

	/**
	 * @param courseDietary the courseDietary to set
	 */
	public void setCourseDietary(String courseDietary) {
		this.courseDietary = courseDietary;
	}

	/**
	 * @param courseEncourage the courseEncourage to set
	 */
	public void setCourseEncourage(String courseEncourage) {
		this.courseEncourage = courseEncourage;
	}

	/**
	 * @param roundOverall the roundOverall to set
	 */
	public void setRoundOverall(String roundOverall) {
		this.roundOverall = roundOverall;
	}

	/**
	 * @param recommend the recommend to set
	 */
	public void setRecommend(String recommend) {
		this.recommend = recommend;
	}

	/**
	 * @param continueCourse the continueCourse to set
	 */
	public void setContinueCourse(String continueCourse) {
		this.continueCourse = continueCourse;
	}

	/**
	 * @param continueCourseOther the continueCourseOther to set
	 */
	public void setContinueCourseOther(String continueCourseOther) {
		this.continueCourseOther = continueCourseOther;
	}

	/**
	 * @param joinTogether the joinTogether to set
	 */
	public void setJoinTogether(String joinTogether) {
		this.joinTogether = joinTogether;
	}

	/**
	 * @param joinTogetherOther the joinTogetherOther to set
	 */
	public void setJoinTogetherOther(String joinTogetherOther) {
		this.joinTogetherOther = joinTogetherOther;
	}
}
